package com.example.testplatform.service;

import com.example.testplatform.entity.Menu;
import java.util.List;
import java.util.Map;

public interface MenuService {
    
    // 获取菜单列表
    List<Menu> getMenuList();
    
    // 获取所有菜单（用于系统初始化）
    List<Menu> getAllMenus();
    
    // 根据ID获取菜单详情
    Menu getMenuById(Long id);
    
    // 根据父菜单ID获取子菜单
    List<Menu> getMenusByParentId(Long parentId);
    
    // 创建菜单
    boolean createMenu(Menu menu);
    
    // 更新菜单
    boolean updateMenu(Menu menu);
    
    // 删除菜单
    boolean deleteMenu(Long id);
    
    // 更新菜单状态
    boolean updateMenuStatus(Long id, Integer status);
    
    // 获取菜单树结构
    List<Map<String, Object>> getMenuTree(Long parentId);
    
    // 根据角色ID获取菜单列表
    List<Menu> getMenusByRoleId(Long roleId);
}